package model

import (
	"time"
	"user_srv/basic/config"
)

// XqUserInterests 用户兴趣标签
type XqUserInterests struct {
	Id        int64     `gorm:"column:id;type:bigint;primaryKey;not null;" json:"id"`
	UserId    int64     `gorm:"column:user_id;type:bigint;comment:用户ID;not null;" json:"user_id"`        // 用户ID
	TagId     int64     `gorm:"column:tag_id;type:bigint;comment:标签ID;not null;" json:"tag_id"`          // 标签ID
	Weight    float32   `gorm:"column:weight;type:float;comment:兴趣权重（1.0-5.0）;default:1;" json:"weight"` // 兴趣权重（1.0-5.0）
	CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:CURRENT_TIMESTAMP;" json:"created_at"`
	UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:CURRENT_TIMESTAMP;" json:"updated_at"`
}

func (x *XqUserInterests) TableName() string {
	// 表名
	return "xq_user_interests"
}
func (x *XqUserInterests) Create() error {
	// 创建
	return config.DB.Create(&x).Error
}
func (x *XqUserInterests) Delete(where XqUserInterests) error {
	// 删除
	return config.DB.Where(where).Delete(&x).Error
}
func (x *XqUserInterests) Update(where XqUserInterests) error {
	// 更新
	return config.DB.Where(where).Updates(&x).Error
}
func (x *XqUserInterests) List(where XqUserInterests) ([]XqUserInterests, error) {
	// 查询
	var interests []XqUserInterests
	err := config.DB.Where(where).Find(&interests).Error
	return interests, err
}
